Shader 可能是在unity 裡算是較難入門的,
很多都是套件都在背後做完了,但如果能學習些此項技能,可謂之在很多效果上,是變化無窮的
介紹幾篇文章可以參考
相當專業詳細的介紹,雖然有點艱深,但可以獲得取許多的知識
http://www.arkaistudio.com/blog/2016/10/04/%E4%B8%80%E8%B5%B7%E5%AD%B8-unity-shader-%E4%B8%80%EF%BC%9A%E6%96%B0%E6%89%8B%E5%85%A5%E9%96%80/
相當易懂入門的的文章,果然是 "貓都能學會"
https://onevcat.com/2013/07/shader-tutorial-1/
截入一些文章的內容
shapder
意謂著,是有許點的點,構成三角面,在構成許多的平面,如此渲染到物件上
可由許多的子著色器構成,子著色器又由許多的Pass構成
一個 pass 代表一個完整的渲染過程
CGPROGRAM
(過程到結束)
#pragma (宣告項目)
ENDCG
Properties
{
宣告變數
}
SubShader
{
工作區域
}
Pass
{
Cull Front
Offset -1, -1
}
shader 運作的過程
宣告相關變數(和很多宣告的代碼是規定的,必需照著規定, 如 sampler2D,TEXCOORD0,SV_POSITION...)
有負責接收參收或給與參數值的,如在 struct { } 和 v2f vert (appdata v) { } 裡
然要需要渲染給前端 fixed4 frag (v2f i) : SV_Target { }
Pass 每代表每一次完整渲染的單位